Consolidation is a technological trend aimed, among other things, at lowering total cost of ownership (TCO) as well as increasing performance of computing platforms. Virtualization is becoming a popular solution for consolidation, e.g. consolidation of datacenter servers. Virtualization based on virtual machine (VM) technology is becoming the preferred choice for such consolidation. With VM technology, a single physical machine may support concurrent operation of a number of operating systems, referred to as guest operating systems in the art, each of which possibly running over its own virtual machine representing the underlying physical machine. For example, a number of instances of Windows, Linux and Mac OS operating systems may run concurrently on the same physical machine. A single physical server machine may support tens of virtual machines (VMs), where each virtual machine (VM) may host multiple guest operating systems (OS) and where further each OS may have multiple applications running on it. Consolidation, for example by VM technology, may allow numerous applications that may otherwise require multiple, dedicated physical servers, to share a single physical server. Consolidation may allow the number of servers in a datacenter to be reduced while increasing average utilization of physical servers.
Input/output virtualization (IOV) is a technology that may enable multiple systems, e.g. multi-CPU systems, and/or multiple operating systems to simultaneously and/or concurrently share input/output (IO) resources. For example, multiple guest operating systems in a virtual machine (VM) environment may share a peripheral component interconnect (PCI), or a PCI Express (PCIe) subsystem. However, in the case of, for example, PCIe, IOV may require queuing of service requests and/or duplication of resources.